package com.jwpdk.dbframework;

import java.sql.Connection;
import java.sql.Timestamp;

import com.jwpdk.appframework.data.IDataList;
/**
 * 
 * @author 王志伟
 *
 */
public interface IDAO {

	static class IDateFormat {

		/**
		 * 年月日 如：20140101
		 */
		public final static String	YYYYMMDD			= "yyyyMMdd";

		/**
		 * 年月日时分秒 20140101235959
		 */
		public final static String	YYYYMMDDHHMISS		= "yyyyMMddHHmmss";

		/**
		 * 年-月-日 2014-01-01
		 */
		public final static String	YYYY_MM_DD			= "yyyy-MM-dd";

		/**
		 * 年-月-日 时：分：秒 2014-01-01 23:59:59
		 */
		public final static String	YYYY_MM_DD_HH_MI_SS	= "yyyy-MM-dd HH:mm:ss";

	}

	/**
	 * 根据IStatement查询
	 * @param iStatement
	 * @return IDataList对象
	 * @throws Exception
	 */
	public IDataList queryByIStatement(IStatement iStatement) throws Exception;

	/**
	 * 根据IStatement执行CUD
	 * @param iStatement
	 * @return int
	 * @throws Exception
	 */
	public int executeByIStatement(IStatement iStatement) throws Exception;

	/**
	 * 获取Timestamp
	 * @return
	 * @throws Exception
	 */
	public Timestamp getSysdate(Connection conn) throws Exception;

	/**
	 * 获取总数
	 * @return
	 * @throws Exception
	 */
	public int getCount(Connection conn, SQL sql) throws Exception;

}
